Field of the Invention
The present invention generally relates to software usage and, more specifically, to a method and system for providing instructional information to software application end-users.
Description of the Related Art
A wide variety of software applications are currently available to end-users, including computer-aided design (CAD) applications, computer graphics applications, animation applications, word processing applications, and computer programming applications, among others. Many of these software applications allow an end-user to interact with the software application via a graphical end-user interface (GUI). Conventional GUIs often provide the end-user with access to a set of tools that can be used to perform various operations within a workspace generated by the software application. For example, a CAD application could provide a set of drawing tools that could be used to draw different shapes within a drawing workspace generated by the CAD application. Each tool in the set of tools could be represented within the GUI with an icon that the end-user could select in order to use the tool.
Software applications such as the CAD application described above may also provide the end-user with instructional information that assists the end-user with using the different tools associated with the software application. For example, the software application may include a “help” database that receives a query from the end-user and then identifies articles that relate to the received query. Those articles may then be displayed to the end-user. One problem with conventional help databases is that the end-user is required to open a new window in order to submit a query to the help database. When the end-user is actively working within a workspace generated by the software application and needs to access instructional information pertaining to that work, the end-user is required to stop working in order to access the help database. Such interruptions may inhibit the productivity of the end-user.
One solution to this problem is to superimpose instructional information over the end-user's workspace via a “pop-up” text box when the end-user performs certain actions. For example, when the end-user positions a cursor over the icon associated with a particular tool, the software application could display a brief description of that tool within a pop-up text box. This approach allows the end-user to access instructional information more quickly and without navigating away from their workspace. However, this approach suffers from certain drawbacks.
First, the brief description provided within each pop-up text box is typically too short to adequately convey to the end-user how the tool is used. In fact, most pop-up text boxes only describe to the end-user what the tool does, and so the end-user may still have difficulty learning to use the tool. Second, conventional pop-up text boxes disappear when the end-user relocates the cursor, thereby preventing the end-user from performing any operations without causing the pop-up text box to disappear. Third, the instructional information for each tool is limited to the brief description initially associated with the tool and cannot be expanded to include new information. Consequently, in situations where the pop-up text box does not provide the end-user with sufficient information to be able to use a particular tool, the end-user may never learn how to effectively use that tool.
As the foregoing illustrates, there is a need in the art for a more effective way to provide end-users of a software application with information related to usage of the software application.